МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
Кафедра СКС
Звіт
з лабораторної роботи № 5
з дисципліни: «Організація та функціонування комп’ютерів»
на тему: «Дослідження виконання арифметичних операцій з числами у форматі з фіксованою комою у симуляторі DeComp.»
Варіант - 23
Мета роботи:
Вивчити форми подання і застосування додатних та від’ємних чисел у арифметиці з фіксованою комою;
Навчитись розробляти алгоритми і здійснити їх реалізацію у інструкціях процесора навчального комп'ютера DeComp виконання арифметичних операцій додавання та віднімання над двійковими числами з фіксованою комою у модифікованих кодах;
Навчитись розробляти алгоритми і здійснити їх реалізацію у інструкціях процесора навчального комп'ютера DeComp виконання арифметичної операції множення двійкових чисел без знаку.
Хід виконання роботи:
Теоретичні відомості.
1.1. Додавання двійкових чисел у модифікованому доповняльному коді
Доповняльні коди чисел додаються порозрядно. Причому знакові розряди додаються як звичайні розряди цілих чисел. Одиниця переносу, яка виникає при додаванні знакових розрядів, не враховується, тобто відкидається. Суму отримуємо у доповняльному коді. Для отримання остаточного результату цю суму необхідно обов’язково перевести у прямий код, тобто зробити друге доповнення.
Приклад 1. Додати у модифікованому доповняльному коді двійкові числа А і В при наступних умовах:
А > 0; B > 0; A + B > 0.
A = + 0,1101; B = + 0,0001 +
00,1110; 00,1110;
2. А < 0; B < 0; A + B < 0.
A = - 0,1101; B = - 0,0001; +
111,0010; 11,1110;
Одиниця переносу із старшого знакового (
розряду не враховується
При переведенні у прямий код отриманих від’ємних результатів переводиться саме число і не переводиться знак або число із спотвореним знаком береться за абсолютною величиною.
1.2. Переповнення розрядної сітки при додаванні у модифікованих машинних кодах
Переповнення розрядної сітки при додаванні модифікованих кодів, так само як і при додаванні у звичайних кодах із фіксованою комою, може бути лише у випадках, коли доданки мають однакові знаки. Таке переповнення виявляється способом порівняння знакових розрядів отриманої суми, наприклад, застосовуючи операцію додавання за модулем 2 (XOR). Ознакою переповнення є неспівпадання цифр, які створюються у двох знакових розрядах суми, тобто код знаку числа має вигляд 01 або 10. Відповідно, результат неможливо віднести до додатних, ні до від’ємних модифікованих кодів. Пояснимо це на наступних прикладах.
Приклад 3:
1. А = + 0,1101; 2. А = - 0,1101;
В = + 0,0111; В = - 0,0111;
А + В > 0; А + В < 0;
+ +
Відкидається (
Як видно з прикладів, у знакових розрядах отриманої суми додатних доданків маємо комбінацію „01”, а від’ємних – „10”, що свідчить про переповнення розрядної сітки.
1.3. Множення двійкових чисел без знаку
Множення двійкових чисел виконують за правилами, аналогічними для десяткових чисел, тобто визначають проміжні добутки, а потім їх додають. Але, важливо зазначити, що у цьому процесі значно полегшується процес визначення проміжних добутків. Насправді виконуються тільки два правила множення двійкового числа на двійкову цифру:
1). Якщо ця двійкова цифра (розряд множника) дорівнює 1, то двійкове множене просто копіюється без змін у якості проміжного добутку;
2). Якщо цей розряд множника дорівнює 0, то проміжний добуток дорівнює 0.
При визначенні кожного наступного проміжного добутку він зсуваєт...